package at.fhhagenberg.hydrac.backend.javacc.nodes;

import java.util.ArrayList;
import java.util.List;

import at.fhhagenberg.hydrac.backend.javacc.generator.ASTGenerator;
import at.fhhagenberg.hydrac.backend.javacc.generator.Comment;

public class ASTNodeExt extends SimpleNode {

	private List<Comment> comments;

	private List<String> values = new ArrayList<>();

	private int lineNumber;

	private boolean isPublic;

	private boolean isStatic;

	private String sign = "";

	private String value2;

	private boolean hasNot;

	private boolean isAbstract;

	private boolean isBasedOn;

	public ASTNodeExt(ASTGenerator p, int i) {
		super(p, i);
	}

	public ASTNodeExt(int i) {
		super(i);
	}

	public void setComments(List<Comment> comments) {
		this.comments = comments;
	}

	public void setLineNumber(int lineNumber) {
		this.lineNumber = lineNumber;
	}

	public void setIsPublic(boolean isPublic) {
		this.isPublic = isPublic;
	}

	public void setIsStatic(boolean isStatic) {
		this.isStatic = isStatic;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public void setValue(String value) {
		value2 = value;
	}

	public void setHasNot(boolean hasNot) {
		this.hasNot = hasNot;
	}

	public List<String> getValues() {
		return values;
	}

	public void setValues(List<String> values) {
		this.values = values;
	}

	public void addValue(String value) {
		values.add(value);
	}

	public void setIsAbstract(boolean isAbstract) {
		this.isAbstract = isAbstract;
	}

	public void setIsBasedOn(boolean isBasedOn) {
		this.isBasedOn = isBasedOn;
	}

	public boolean getIsPublic() {
		return isPublic;
	}

	public void setPublic(boolean isPublic) {
		this.isPublic = isPublic;
	}

	public boolean getIsStatic() {
		return isStatic;
	}

	public void setStatic(boolean isStatic) {
		this.isStatic = isStatic;
	}

	public String getValue() {
		return value2;
	}

	public boolean getIsAbstract() {
		return isAbstract;
	}

	public void setAbstract(boolean isAbstract) {
		this.isAbstract = isAbstract;
	}

	public boolean getIsBasedOn() {
		return isBasedOn;
	}

	public void setBasedOn(boolean isBasedOn) {
		this.isBasedOn = isBasedOn;
	}

	public List<Comment> getComments() {
		return comments;
	}

	public int getLineNumber() {
		return lineNumber;
	}

	public String getSign() {
		return sign;
	}

	public boolean isHasNot() {
		return hasNot;
	}

}
